home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / AIIGSIncludes / E16.SANE < prev    next >
Encoding:
Text File  |  1990-05-03  |  7.0 KB  |  161 lines  |  [TEXT/MPS ]

  1. ; File:  E16.SANE
  2. ;
  3. ;
  4. ; Copyright Apple Computer, Inc. 1986-90
  5. ; All Rights Reserved
  6. ;
  7. ;
  8. SIGDIGLEN EQU $001C
  9. IEEEDEFAULTENV EQU $0000
  10. FLOATDECIMAL EQU $0000
  11. FIXEDDECIMAL EQU $0001
  12. INVALID EQU $0001
  13. UNDERFLOW EQU $0002
  14. OVERFLOW EQU $0004
  15. DIVBYZERO EQU $0008
  16. INEXACT EQU $0010
  17. ;-----------------------------------------------------------
  18. ; Tool Set and Function Numbers.
  19. ;-----------------------------------------------------------
  20. SANEtsNum       equ     $A              ; SANE tool set number
  21.  
  22. FPNum           equ     $9              ; Function number for Arithmetic
  23. DecStrNum       equ     $A              ; Function number for Scanner/Formatter
  24. ElemNum         equ     $B              ; Function no. for Elementary functions
  25.  
  26. ;-----------------------------------------------------------
  27. ; Operation code masks.
  28. ;-----------------------------------------------------------
  29. FOADD           equ     $00             ; add
  30. FOSUB           equ     $02             ; subtract
  31. FOMUL           equ     $04             ; multiply
  32. FODIV           equ     $06             ; divide
  33. FOCMP           equ     $08             ; compare, no exception from unordered
  34. FOCPX           equ     $0A             ; compare, signal invalid if unordered
  35. FOREM           equ     $0C             ; remainder
  36. FOZ2X           equ     $0E             ; convert to extended
  37. FOX2Z           equ     $10             ; convert from extended
  38. FOSQRT          equ     $12             ; square root
  39. FORTI           equ     $14             ; round to integral value
  40. FOTTI           equ     $16             ; truncate to integral value
  41. FOSCALB         equ     $18             ; binary scale
  42. FOLOGB          equ     $1A             ; binary log
  43. FOCLASS         equ     $1C             ; classify
  44. FONEXT          equ     $1E             ; next-after
  45.  
  46. FOSETENV        equ     $01             ; set environment
  47. FOGETENV        equ     $03             ; get environment
  48. FOSETHV         equ     $05             ; set halt vector
  49. FOGETHV         equ     $07             ; get halt vector
  50. FOD2B           equ     $09             ; convert decimal to binary
  51. FOB2D           equ     $0B             ; convert binary to decimal
  52. FONEG           equ     $0D             ; negate
  53. FOABS           equ     $0F             ; absolute value
  54. FOCPYSGN        equ     $11             ; copy sign
  55. ; UNDEFINED     equ     $13
  56. FOSETXCP        equ     $15             ; set exception
  57. FOPROCENTRY     equ     $17             ; procedure-entry
  58. FOPROCEXIT      equ     $19             ; procedure-exit
  59. FOTESTXCP       equ     $1B             ; test exception
  60. ; UNDEFINED     equ     $1D
  61. ; UNDEFINED     equ     $1F
  62.  
  63. ;-----------------------------------------------------------
  64. ; Operand format masks.
  65. ;-----------------------------------------------------------
  66. FFEXT           equ     $000            ; extended -- 80-bit float
  67. FFDBL           equ     $100            ; double   -- 64-bit float
  68. FFSGL           equ     $200            ; single   -- 32-bit float
  69. FFLNG           equ     $300            ; longint  -- 32-bit integer                                                   
  70. FFINT           equ     $400            ; integer  -- 16-bit integer
  71. FFCOMP          equ     $500            ; comp     -- 64-bit integer
  72. ; UNDEFINED     equ     $600
  73. ; UNDEFINED     equ     $700
  74.  
  75. ;-----------------------------------------------------------
  76. ; Class and sign inquiries.
  77. ;-----------------------------------------------------------
  78. FCSNAN          equ     $FC             ; -4: signaling NAN
  79. FCQNAN          equ     $FD             ; -3: quiet NAN
  80. FCINF           equ     $FE             ; -2: infinite
  81. FCZERO          equ     $FF             ; -1: zero
  82. FCNORM          equ     $00             ;  0: normal
  83. FCDENORM        equ     $01             ;  1: denormal
  84.  
  85. ;-----------------------------------------------------------
  86. ; Exceptions.
  87. ;-----------------------------------------------------------
  88. FBINVALID       equ     $1
  89. FBUFLOW         equ     $2
  90. FBOFLOW         equ     $4
  91. FBDIVZER        equ     $8
  92. FBINEXACT       equ     $10
  93.  
  94. ;-----------------------------------------------------------
  95. ; Elementary function operation code masks.
  96. ;-----------------------------------------------------------
  97. FOLNX           equ     $00             ; base-e log 
  98. FOLOG2X         equ     $02             ; base-2 log
  99. FOLN1X          equ     $04             ; ln (1 + x)
  100. FOLOG21X        equ     $06             ; log2 (1 + x)
  101. FOEXPX          equ     $08             ; base-e exponential  
  102. FOEXP2X         equ     $0A             ; base-2 exponential
  103. FOEXP1X         equ     $0C             ; exp (x) - 1
  104. FOEXP21X        equ     $0E             ; exp2 (x) - 1
  105. FOXPWRI         equ     $10             ; integer exponentiation
  106. FOXPWRY         equ     $12             ; general exponentiation
  107. FOCOMPOUND      equ     $14             ; compound
  108. FOANNUITY       equ     $16             ; annuity
  109. FOATANX         equ     $18             ; arctangent
  110. FOSINX          equ     $1A             ; sine
  111. FOCOSX          equ     $1C             ; cosine
  112. FOTANX          equ     $1E             ; tangent
  113. FORANDX         equ     $20             ; random
  114.  
  115. ;-----------------------------------------------------------
  116. ; Scanner and formatter operation code masks.
  117. ;-----------------------------------------------------------
  118. FOPSTR2DEC      equ     0               ; Pascal string to decimal record
  119. FOCSTR2DEC      equ     2               ; C string (char stream) to dec. record
  120. FODEC2STR       equ     1               ; decimal record to (Pascal) string
  121.  
  122. ;-----------------------------------------------------------
  123. ; NaN codes.  
  124. ;-----------------------------------------------------------
  125. NANSQRT         equ     1               ; Invalid square root such as sqrt(-1)
  126. NANADD          equ     2               ; Invalid addition such as +INF - +INF 
  127. NANDIV          equ     4               ; Invalid division such as 0/0 
  128. NANMUL          equ     8               ; Invalid multiply such as 0 * INF 
  129. NANREM          equ     9               ; Invalid rem or mod such as x REM 0 
  130. NANASCBIN       equ     17              ; Conversion of invalid ASCII string 
  131. NANCOMP         equ     20              ; Comp NaN converted to floating
  132. NANZERO         equ     21              ; Attempt to create a NaN with zero code
  133. NANTRIG         equ     33              ; Invalid argument to trig routine 
  134. NANINVTRIG      equ     34              ; Invalid arg to inverse trig routine 
  135. NANLOG          equ     36              ; Invalid argument to log routine 
  136. NANPOWER        equ     37              ; Invalid argument to x^i or x^y routine 
  137. NANFINAN        equ     38              ; Invalid argument to financial function 
  138.             
  139.  
  140. relop_GREATERTHAN EQU 0 ;
  141. relop_LESSTHAN EQU 1 ;
  142. relop_EQUALTO EQU 2 ;
  143. relop_UNORDERED EQU 3 ;
  144.  
  145. numclass_SNAN EQU 0 ;
  146. numclass_QNAN EQU 1 ;
  147. numclass_INFINITE EQU 2 ;
  148. numclass_ZERONUM EQU 3 ;
  149. numclass_NORMALNUM EQU 4 ;
  150. numclass_DENORMALNUM EQU 5 ;
  151.  
  152. rounddir_TONEAREST EQU 0 ;
  153. rounddir_UPWARD EQU 1 ;
  154. rounddir_DOWNWARD EQU 2 ;
  155. rounddir_TOWARDZERO EQU 3 ;
  156.  
  157. roundpre_EXTPRECISION EQU 0 ;
  158. roundpre_DBLPRECISION EQU 1 ;
  159. roundpre_FLOATPRECISION EQU 2 ;
  160.  
  161.